In a 10-Gigabit Passive Optical Network (XGPON) protocol, each Optical Network Unit (ONU) might have multiple Transmission Containers (TCONTs), wherein each TCONT is identified by an allocation identifier Alloc_ID, and a corresponding uplink data stream is defined as one data Allocation. In the frame structure of an uplink frame, as shown in FIG. 1, each Allocation has one Dynamic Bandwidth Report upstream (DBRu) area, wherein the DBRu area contains a 3-byte BufOcc field and a 1-byte CRC. The BufOcc represents all Service Data Unit (SDU) traffic (flow) values passing through the buffer correlated to the Alloc_ID of the allocated bandwidth, wherein the expression value of the traffic takes 4-byte as a unit. According to the Dynamic Bandwidth Allocation (DBA) protocol requirement in the XGPON protocol, the DBA calculation based on a State Report (SR) mode is to allocate bandwidth based on the data content of BufOcc.
In an XGPON Optical Line Terminal (OLT) system of the related art, the formula of bandwidth allocation based on the SR mode is as follows: grant(i)=alpha*dbru(i), where i represents an identifier of a TCONT and alpha represents a smooth coefficient.
In an XGPON Optical network Unit (ONU) system of the related art, the buffer of an ONU is realized through Double Data Rate (DDR) Synchronous Dynamic Random Access Memory (SDRAM). According to the inherent row-column relationship of the DDR, each row is defined as one buffer space, which corresponds to one buffer identifier buf id. Each Alloc_ID of the ONU is fixedly allocated with multiple buf ids, in this way, the number of buf ids determines the buffer capacity of one Alloc_ID. The ONU also refers to the number of the buffer areas corresponding to Alloc_ID while reporting the DBRu value (which refers to the BufOcc value in the DBRu field). However, different types of ONUs have different buffer management mechanisms, and the utilization efficiency of buffer and the size of buffer are different too; considering this factor, when an OLT PON interfaces is coupled with ONUs of different models in an XGPON system, for the Alloc_ID of the same configuration and traffic model, the OLT may also allocate different bandwidths, which affects fairness and allocation efficiency of the XGPON network.
The main reason lies in that: since the buffer space is limited and buffer overflow occurs when a TCONT receives a large traffic, in such a condition, the reported DBRu keeps in a constant value, which is theoretically the maximum value of the Alloc_ID buffer. At this time, the OLT does not know the actual condition of the TCONT, and thus the OLT still allocates bandwidth according to the original DBRu value. This is a very common condition in actual applications where different ONUs behave differently, e.g., the ONUs with relatively larger buffer work normally while the ONUs with relatively smaller buffer may have continuous packet loss.